#!groovy

@Library('jenkinslib') _

//引用devops.tools下的文件
def tools=new org.devops.tools()


//Pipeline 
pipeline {
    agent  any //节点的标签或者名称
    

    options { 
        timestamps()    //日志会有时间
        skipDefaultCheckout()  //删除隐式checkout scm 语句
        disableConcurrentBuilds()  //静止并行
        timeout(time: 1, unit: 'HOURS')  //流水线超时设置1h
    }

    stages { 
    //下载代码
        stage("GetCode"){   //阶段名称
            steps{   //名称
                timeout(time:5, unit:"MINUTES"){   //步骤超时时间
                    script{   //填写运行代码
                        println('获取代码') 
                    } 
                } 
            } 
        }
       //构建
        stage("Build"){ 
            steps{
                timeout(time:20, unit:"MINUTES"){ 
                    script{ 
                        println('应用打包')
                    }
                } 
            }
        }

        //代码扫描
        stage("CodeScan"){
            steps{ 
                timeout(time:30, unit:"MINUTES"){ 
                    script{ 
                        print('代码扫描')

                        //调用创建的共享库中的函数
                        tools.PrintMsg("this is my jenkinsLib")
                    } 
                }
            }
        }
    } 

    //构建后操作
    post {
        always { 
            script{ 
                println("always") 
            } 
        } 

        success {
            script{
                currentBuild.description += "\n 构建成功!" 
            } 
        }

        failure {
            script{ 
                currentBuild.description += "\n 构建失败!" 
            } 
        }

        aborted { 
            script{ 
                currentBuild.description += "\n 构建取消!" 
            } 
        } 
    } 
}